#ifndef _STACK_H_
#define _STACK_H_
#include "vector.h"

typedef struct Stack {
    Vector* v;   // 包含一个向量值
} Stack; 

// -- 组合方法使用一下 Vector, 栈结构操作函数 -- 
// 栈构造
void StackNew(Stack* s);
// 压栈
void StackPush(Stack* s, int elem); 
// 弹栈
int StackPop(Stack* s);
// 查看栈顶第一个元素
int StackPeek(Stack* s); 
// 栈大小
int StackSize(Stack* s);
// 栈是否为空
int StackIsEmpty(Stack* s);
// 栈打印
void StackString(Stack* s); 
// 栈析构
void StackDispose(Stack* s); 

#endif